import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'

Vue.use(Vuex)

const store = new Vuex.Store({
  state: { data: [
    { id: '1', name: 'abc', account: '32132222', phone: '18116657859', status: '0', sex: '男', idNumber: '666666666866666666' },
    { id: '2', name: 'dsa', account: '312321', phone: '18116657859', status: '0', sex: '男', idNumber: '666666666666662666' },
    { id: '3', name: 'ws', account: '32132222', phone: '18116657859', status: '0', sex: '男', idNumber: '666666666666666666' },
    { id: '4', name: 'aaa', account: '312321', phone: '18116657859', status: '0', sex: '女', idNumber: '111111111111111111' },
    { id: '5', name: 'ww', account: '32132222', phone: '18116657859', status: '0', sex: '女', idNumber: '666626666666696666' },
    { id: '6', name: 'qq', account: '312321', phone: '18116657859', status: '1', sex: '男', idNumber: '666666676666662666' },
    { id: '7', name: 'qa', account: '32132222', phone: '18116657859', status: '0', sex: '男', idNumber: '666666166666666666' },
    { id: '8', name: 'wsx', account: '32132222', phone: '18116657859', status: '0', sex: '女', idNumber: '663666666666666666' },
    { id: '9', name: 'asa', account: '312321', phone: '18116657859', status: '0', sex: '男', idNumber: '666626666666666666' },
    { id: '10', name: 'wsd', account: '312321', phone: '18116657859', status: '0', sex: '男', idNumber: '616666666666666666' },
    { id: '11', name: 'fre', account: '23213', phone: '18116657859', status: '0', sex: '男', idNumber: '666663666666666666' }] },
  modules: {
    app,
    settings,
    user
  },
  getters,
  mutations: {
    addData(state, newData) {
      state.data.push(newData)
    },
    editData(state, { id, newData }) {
      const item = state.data.findIndex(item => item.id === id)
      state.data[item] = { ...state.data[item], ...newData }
    },
    statusData(state, id) {
      const index = state.data.findIndex(item => item.id === id)
      if (state.data[index].status === '0') { state.data[index].status = '1' } else state.data[index].status = '0'
    }
  }
}
)

export default store
